const express = require('express');
const router = express.Router();
const { User, sequelize } = require('../../models')
const { success, failure } = require('../../utils/responses');

//统计用户性别
router.get('/sex', async function (req, res) {
    try {
        const female = await User.count({ where: { sex: 0 } })
        const male = await User.count({ where: { sex: 1 } })
        const unknown = await User.count({ where: { sex: 2 } })
        const data = [
            { value: female, name: '女性' },
            { value: male, name: '男性' },
            { value: unknown, name: '未选择' }
        ]
        success(res, '查询用户性别成功', { data })
    } catch (error) {
        failure(res, error)
    }
})

//统计每个月用户数量
router.get('/user', async function (req, res) {
    try {
        const [results] = await sequelize.query("SELECT DATE_FORMAT(`createdAt`,'%Y-%m') AS `month`,COUNT(*)AS `value` FROM `users` GROUP BY `month`ORDER BY `month` ASC")
        const data={
            months:[],
            values:[]
        }
        results.forEach(item=>{
            data.months.push(item.month)
            data.values.push(item.value)
        })
        success(res, '查询每个月用户数量成功', { data })

    } catch (error) {
        failure(res, error)
    }
})

module.exports = router;